package com.ksd.modules.rbac.roles.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ksd.commons.IBaseService;
import com.ksd.modules.rbac.roles.entity.SysRoles;
import com.ksd.modules.rbac.roles.po.SysRolesSavePO;
import com.ksd.modules.rbac.roles.po.SysRolesSearchPO;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 角色表 服务类
 * </p>
 *
 * @author Auto Generator
 * @since 2023-08-13
 */
public interface ISysRolesService extends IBaseService<SysRoles> {

    /**
     * 查询用户对应的菜单和权限
     * @param roleId
     * @return
     */
    Map<String,Object> findMenusPermissionByRoleId(Long roleId);

    /**
     * 查询角色接口
     * @return
     */
    List<SysRoles> findSysRoles();

    /**
     * 查询角色接口搜索并分页
     * @return
     */
    Page<SysRoles> findSysRolesPage(SysRolesSearchPO sysRolesSearchPO);


    /**
     * 保存角色
     */
    boolean saveUpdateSysRoles(SysRolesSavePO sysRolesSavePO);

    /**
     * 删除角色
     * @param id
     * @return
     */
    boolean deleteSysRolesById(Long id);


    /**
     * 根据id获取角色
     * @param id
     * @return
     */
    SysRoles getSysRolesById(Long id);
}
